package com.wf.LeetCode;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

/**
 * @author mpk
 * @since 2024/6/11 19:37:57
 */

//283. 移动零
/*给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。

        请注意 ，必须在不复制数组的情况下原地对数组进行操作。*/
public class MoveZeroes {

    public static void main(String[] args) {

        int[] nums = {0, 1, 0, 3, 12};
        moveZeroes(nums);

    }
    public static void moveZeroes(int[] nums) {
        int j = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != 0) {
                if (i != j) {
                    nums[j] = nums[i];
                    nums[i] = 0;
                }
                j++;
            }
        }
        System.out.println(Arrays.toString(nums));
    }

  /*  public static void moveZeroes(int[] nums) {


        int[] array = Arrays.stream(nums)
                .filter(s -> s != 0)
                .toArray();

        for (int i = 0; i < array.length; i++) {

            nums[i] = array[i];

        }
        for (int i = array.length; i < nums.length; i++) {

            nums[i] = 0;

        }

        System.out.println(Arrays.toString(nums));

    }*/

}
